﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using COFE.Core.Validater;
using COFE.Core;
using COFE.Core.Entry;

namespace COFE.Core
{
    /// <summary>
    /// {50-69} A list of properties for DirectoryInfo.
    /// </summary>
    public enum DirectoryInfoProperties : int
    {
        /// <summary>
        /// 
        /// </summary>
        [PropertyType(typeof(IFileInfo), typeof(FileInfoExA))]
        FileBasedFSFile = 50,

        /// <summary>
        /// 
        /// </summary>
        [PropertyType(false, typeof(bool))]
        [PrimaryProperty]
        IsFileBasedFS,

        /// <summary>
        /// 
        /// </summary>        
        [PropertyType(typeof(DirectoryTypeEnum))]
        [PrimaryProperty]
        DirectoryType,

        /// <summary>
        /// Whether the directory contains subfolders, for reference only.
        /// </summary>
        [PropertyType(true, typeof(bool))]        
        HasSubFolders,

        /// <summary>
        /// Whether the directory contains files, for reference only.
        /// </summary>
        [PropertyType(true, typeof(bool))]        
        HasFiles,

        /// <summary>
        /// Number of subfolders in the directory, for reference only.
        /// </summary>
        [PropertyType(0, typeof(Int32))]
        [Metadata(true)]
        [Alias("SubFolderCount")]
        SubFolderCount,

        /// <summary>
        /// Number of files in the directory, for reference only.
        /// </summary>
        [PropertyType(0, typeof(Int32))]
        [Metadata(true)]
        [Alias("FileCount")]
        FileCount
    }
    

}
